

package com.biblioteca.controlador;

import com.biblioteca.persistencia.Favorito;
import com.biblioteca.persistencia.Libro;
import com.biblioteca.persistencia.Usuario;
import com.biblioteca.servicio.FavoritoService;
import com.biblioteca.servicio.LibroServicio;
import com.biblioteca.servicio.UsuarioServicio;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Controller;
import org.springframework.context.annotation.Scope;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
@Controller("favoritoControlador")
@Scope("request")
public class favoritoControlador implements Serializable {

    private Favorito favoritoseleccionado;
    private Libro libroseleccionado = new Libro();
    private FavoritoService favoritoService;
    private UsuarioServicio usuarioServicio;
    private List<Favorito> favoritos = new ArrayList<Favorito>();
    String isbn;


    @Autowired
    @Required
    public void setUsuarioServicio(UsuarioServicio usuarioServicio) {
        this.usuarioServicio = usuarioServicio;
    }

    @Autowired
    @Required
    public void setFavoritoService(FavoritoService favoritoService) {
        this.favoritoService = favoritoService;
    }

    public Favorito getFavoritoseleccionado() {
        return favoritoseleccionado;
    }

    public void setFavoritoseleccionado(Favorito favoritoseleccionado) {
        this.favoritoseleccionado = favoritoseleccionado;
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    


   public Collection<Favorito> getFavoritos() {
    favoritos = (List<Favorito>) favoritoService.getAllFavoritos();
            if (favoritos.isEmpty()){
                System.out.println("No hay favoritos.");
                return null;
            }else{
              System.out.println("Los libros añadidos a favoritos son:" + favoritoService.getAllFavoritos());
              return favoritos;
            }
        
    }
   
   public void borrarFav(){
       favoritoService.borrarFavorito(favoritoseleccionado.getIsbn());
       
       FacesContext context = FacesContext.getCurrentInstance();

        context.addMessage(null, new FacesMessage("Correcto" , "has eliminado un libro de tu lista de favoritos"));
   }
}
